1. Field of the Invention
The present invention relates generally to an improved data processing system. More specifically, the present invention is directed to a computer implemented method, system, and computer usable program code for stealing interrupt vectors from an OS to gain access to all system resources.
2. Description of the Related Art
Today, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Typically, computer systems include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). The combination of hardware and software on a particular computer system defines the computing environment. Thus, different hardware platforms and different operating systems (OSs) provide different computing environments.
As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software programs have evolved to diagnostically test these hardware components. However, most OSs do not allow test programs to run in a privileged or a partition manager mode. In addition, most OSs do not allow test programs access to real memory. Consequently, in order for a user program to test all possible computer states and resources, the test program must have the ability to get around these OS limitations.
Current solutions to these OS limitation problems include test programs that simply do not run on an OS or test programs that only use as many system resources as the OS will give the test programs to test. Test programs that do not run on an OS are written in assembly language and are loaded directly into memory or a cache. In addition, these types of test programs run independently of any OS and do not have access to standard OS services, such as virtual memory management and scheduling, which may be a disadvantage.
In contrast, test programs that run on top of an OS may only request memory and resources from the OS. By only being able to request memory and resources from the OS, much of a computer's functionality is out of the reach of these types of test programs. As a result, these types of test programs must rely on indirectly influencing the OS to execute some code in a privileged or a partition manager mode in order to test those out-of-reach areas.
Another related solution is to have a custom OS, which has built-in test functionality, to allow test programs access to the whole computer. The downside of utilizing this type of test program is the necessity of maintaining a completely separate OS. As a result, an additional solution is needed to allow test programs to run on an existing OS and yet still allow access to all of a computer's resources.
Therefore, it would be beneficial to have an improved computer implemented method, system, and computer usable program code for stealing interrupt vectors from an OS to allow a test program access to all system resources.